Many machine tool errors are repeatable and correctable. These systematic errors can be compensated for during processing, thus reducing errors in the finished part. Machine tool errors may be fixed geometric errors, such as lead-screw nonlinearity or straightness errors in the machine path; or thermally induced errors, such as expansion and distortion of the machine bed and lead screw or spindle-head growth.
Each axis of the machine tool has an associated feedback device, such that a single-axis machine tool would require a single feedback device, while a multi-axis machine tool would require multiple feedback devices. Machine-tool position feedback has traditionally been obtained from rotary resolvers or encoders coupled to the ball screws, which move the carriage or table. Resolvers produce two sinusoidal waveforms which change in phase by 360.degree. for one revolution. Resolvers are not commonly used in modern machines.
High-resolution encoders or glass scales with encoder-type signal conditioning have commonly been employed. Encoders produce two square-wave outputs (A and B, as shown in FIG. 1A) that are displaced in phase by 90.degree. or one quarter cycle. Thus, the pulses of signals A and B overlap by half a pulse width. A rotary encoder typically produces 1000 to 10,000 cycles for one revolution. The signal that leads in phase depends upon the direction of motion of the machine tool, i.e. signal A leads signal B for positive axis motion as in FIG. 1A, and signal B leads signal A for negative axis motion as in FIG. 1B. The position resolution is also a function of the ballscrew pitch and the gear ratio between the two. Other position feedback devices produce signals which emulate a resolver or encoder. Any device that produces A and B square-wave outputs displaced by 90.degree. is an encoder type device.
The machine controller determines the position of the machine tool by counting pulses received from the position feedback elements. A machine controller utilizing an encoder-type feedback position element, reacts to a rising or falling edge of the pulse and not to the duration of the pulse. Each rising or falling edge will furnish the machine controller with a count, which is the smallest distance that the machine tool controller can recognize. The machine controller records the number of counts, known as a total count. Therefore, each edge will increment or decrement the total count, depending upon whether signal A or B leads, which represents the direction of travel of the machine tool.
As shown in FIG. 2, an Error Corrector 10 is inserted between the machine tool controller 15 and the encoder-type position feedback elements 14. The Error Corrector 10 counts the signals from the feedback device elements 14 which are used to locate the machine tool position. The microcomputer 20, shown in FIG. 3, sends the total position count for the axis or axial position to the PC/AT computer 11 through a parallel interface. For example, 20 bits are required for a one meter long axis with 1 micrometer resolution, or a million counts.
A quadrature decoder 21 (quad-decoder) produces a position count signal from feedback signals A and B. The microcomputer 20 tracks the position count signal, adding or subtracting depending upon the direction of motion of the machine tool, to produce the current axial position of the machine tool. Sub-micrometer resolution is now common for machine tools. For each axis, the encoder resolution, length of travel and the maximum velocity must be known to the error correction system.
As shown in FIG. 2, thermal sensors 12 send temperature data to the PC/AT computer 11. The PC/AT computer 11 calculates an error correction value which compensates for fixed and thermally induced geometric errors, such as expansion and distortion of the machine bed and lead screw or spindle-head growth. This error correction value is supplied to the microcomputer 20. The microcomputer 20 then manipulates the feedback signal supplied to the machine tool controller 15 to reduce the error.
The part probing means 13 or any other means for on-machine part gauging sends a probe signal to the microcomputer 20. Upon receipt of this signal, the microcomputer 20 sends the axial position to the PC/AT computer 11. The computer 11 then calculates an error compensation value based upon differences between computer model dimensions of the part and the actual machined part dimensions. This error compensation value is supplied to the microcomputer 20. The microcomputer 20 then manipulates the feedback signals supplied to the machine tool controller 15 to reduce the error. Thus, a machined part can be re-machined, by the same machine tool 16 to correct dimensional errors detected by the part probing means 13.
The Error Corrector 10 can be set so as to correct errors detected by either the thermal sensors 12 or part probing means 13 separately or simultaneously. The Error Corrector 10 supplies a corrected position signal derived from the error compensation value to the machine tool controller. The compensation signal is added or subtracted, as required, to or from the position feedback data sent from the position feedback elements 14 to form the corrected position signal supplied to the machine controller 15. The compensation signal or pulse can be added or subtracted while the machine tool 16 is in motion, fast or slow. The machine tool controller 15 will immediately alter the path of the machine tool 16 based upon the additions or subtractions.
The errors to be compensated for are small and slow changing. Very few compensation pulses are necessary over the machine processing path, for example the maximum error over a 1 meter long axis might be 240 .mu.m. If the error is linear, this is 4 .mu.m (or for example one set of compensation pulses for the Error Corrector of FIG. 2 if a square-wave cycle corresponds to 4 .mu.m) for every 16,700 .mu.m of axis travel. Since parts made on this machine 16 may only use one-quarter of the axis, only 15 sets of compensation pulses would be required over the length of the part.
A full length encoder-type pulse does not have to be processed; a short (fast) pulse can be inserted regardless of the current frequency of the feedback data pulses. The added pulses must not be too narrow for the quad-decoders in the machine tool controller to respond. Decoders are typically designed for maximum square-wave frequencies of 100 kHz to 1 MHz, which resemble strings of 5 .mu.s to 0.5 .mu.s wide pulses.
A machine controller utilizing an encoder-type feedback to position elements reacts only to a rising or falling edge of the pulse and not to the duration of the pulse. Presently, a separate error corrector is required for each machine axis although it is conceivable that computer technology will advance to a point where only a single RTEC would be required for a multi-axis machine tool.
As shown in FIG. 1C, adding a pair of pulses, which overlap by half a pulse width, with signal A leading signal B, will cause the axis position count in the machine tool controller to increase by four; because two pulses have a total of four edges, and signal A leading signal B indicates positive axial motion. This means the machine controller believes the axis position of the machine tool is four counts further in the positive direction of motion than the actual position of the machine tool. Therefore, the machine controller will stop the machine tool a distance corresponding to four counts in the negative direction from the programmed position. Thus, the addition of counts to the feedback signal compensates for an error that would cause the machine tool to overtravel, or move past a programmed or intended position (in positive axial motion).
Deleting a pair of encoder pulses, as shown in FIG. 1D, will cause the axis position count in the machine tool controller to decrease by four. This means the machine controller believes the axis position of the machine tool is four counts behind as compared with the actual position of the machine tool (in the positive direction of motion). Therefore, the machine controller will stop the machine tool a distance corresponding to four counts in the positive direction from the programmed position. Thus, the subtraction of counts from the feedback signal compensates for an error that would cause the machine tool to undertravel, or stop short of, a programmed or intended position (in positive axial motion).
The deletion of pulses from the feedback signal is not a practical method to subtract counts. Deleting pulses is time dependant, varying with axial velocity. If a pulse is deleted as the machine tool is coming to a stop, an ambiguity results. Under this condition, the microcomputer could be waiting forever for the pulse to end.